package com.dhecp.project.base.service;

import com.dhecp.common.core.domain.AjaxResult;
import com.dhecp.core.layui.TreeDataModel;
import com.dhecp.project.base.domain.BaseInfo;
import java.util.List;
import java.util.Map;

/**
 * 
 * @author DH-Xxj
 * @version 2019年8月27日
 */

public interface BaseInfoService {

	/**通过guid查询基础数据
	 * @return BaseInfo
	 */
	BaseInfo queryBaseInfoByGuid(String guid);
	
	/**通过基础数据分项（vtype）、基础数据编码（vid）查询基础数据
	 * @return BaseInfo
	 */
	BaseInfo queryBaseInfoByVtypeAndVid(String vtype, String vid);
	
	/**
	 * 通过传入的条件查询基础数据列表
	 * @param params
	 * 		若存在键"nowherestr"（任意值），表示不进行条件过滤
	 * @return List-BaseInfo
	 * @throws Exception
	 * @author DH-Xxj
	 */
	List<BaseInfo> queryBaseInfoList(Map<String, Object> params) throws Exception;

	/**
	 * 通过传入的条件查询基础数据列表(树形列表数据)
	 * @param params
	 * 		若存在键"nowherestr"（任意值），表示不进行条件过滤
	 * @return List-BaseInfo
	 * @author DH-Xxj
	 */
	List<TreeDataModel> queryBaseInfoTree(Map<String, Object> params) throws Exception;
	
	/**新增基础数据
	 * @return MessageModel
	 */
	AjaxResult insertBaseInfo(String baseInfoItems);
	
	/**删除基础数据
	 * @return MessageModel
	 */
	AjaxResult deleteBaseInfo(String baseInfoItems);
	
	/**修改基础数据
	 * @return MessageModel
	 */
	AjaxResult updateBaseInfo(String baseInfoItems);
	
	/**修改基础数据默认标志
	 * @return MessageModel
	 */
	AjaxResult updateBaseInfoBdefault(String baseInfoItems);
	
	/**修改基础数据禁用标志
	 * @return MessageModel
	 */
	AjaxResult updateBaseInfoBdeleted(String baseInfoItems);
}
